using System;
using Microsoft.Pex.Framework;
using Dsa.DataStructures;

namespace Dsa.DataStructures
{
    /// <summary>A factory for Dsa.DataStructures.Heap`1[System.Int32] instances</summary>
    public static partial class HeapFactory
    {
        /// <summary>A factory for Dsa.DataStructures.Heap`1[System.Int32] instances</summary>
        [PexFactoryMethod(typeof(Heap<int>))]
        [PexAssertReachEventually(StopWhenAllReached = true)]
        public static Heap<int> Create(Strategy strategy ,int[] items)
        {
            PexAssume.IsTrue(items != null);
            Heap<int> heap = new Heap<int>(items,strategy);
            /*
            for (int i = 0; i < 4; i++)
            {
                heap.Add(item_i1_+i);
            }*/
            return heap;

            // TODO: Edit factory method of Heap`1<Int32>
            // This method should be able to configure the object in all possible ways.
            // Add as many parameters as needed,
            // and assign their values to each field by using the API.
        }
    }
}
